package com.xiaoshuidi.cloud.module.finance.controller.admin.finance.vo.account;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class FinanceAccountJournalVO {
    private Long id;
    @Schema(description = "交易类型")
    private String subject;
    /**
     * 交易金额
     **/
    @Schema(description = "交易金额")
    private java.math.BigDecimal amount;
    /**
     * 0收入1支出
     **/
    @Schema(description = "收入0/支出1")
    private Integer direction;
    /**
     * 消费前余额
     **/
    @Schema(description = "消费前余额")
    private java.math.BigDecimal beginningBalance;
    /**
     * 消费后余额
     **/
    @Schema(description = "消费后余额")
    private java.math.BigDecimal endingBalance;
    /**
     * 交易信息
     **/
    private String tradeData;
    /**
     * 交易类型(线下充值/线上充值/扣费)
     * {@link com.xiaoshuidi.cloud.module.finance.enums.finance.AccountTradeTypeEnum}
     **/
    @Schema(description = "交易渠道")
    private String tradeType;

    @Schema(description = "交易渠道")
    private String tradeTypeDesc;
    /**
     * 交易时间
     **/
    @Schema(description = "交易时间")
    private LocalDateTime tradeTime;
    /**
     * 银行账号
     */
    @Schema(description = "银行卡号")
    private String tradeAccountNo;
    /**
     * 银行
     */
    @Schema(description = "银行")
    private String tradeBank;
    @Schema(description = "操作人")
    private String operator;
    @Schema(description = "备注")
    private String remark;
    @Schema(description = "附件")
    private String attachment;
    @Schema(description = "状态")
    private String status;
    @Schema(description = "状态")
    private String statusDesc;

    @Schema(description = "支付方式")
    private String payMethod;

    @Schema(description = "单号")
    private String journalNo;

    /**
     * 驳回原因
     */
    private String rejectReason;
}
